home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac: Not for Sale / Another.not.for.sale (Australia).iso / fade into you / being there / Issues & Ideas / Anonymous remailers / Remailers / chain Folder / chain.doc < prev    next >
Text File  |  1993-06-04  |  11KB  |  247 lines

  1. Chain
  2. -----
  3.  
  4. Chain is a program designed to assist in using the Cypherpunks remailers. 
  5. These remailers are simple servers which forward mail according to embedded
  6. requests, erasing information about the sender of the message.  They are
  7. designed to enhance personal privacy by preventing network eavesdroppers
  8. from acquiring information about whom you communicate with by email.
  9.  
  10. (More information about the Cypherpunks remailers is available by anonymous
  11. ftp to the Cypherpunks archive site, soda.berkeley.edu, in directory
  12. /pub/cypherpunks/remailer.)
  13.  
  14. For maximum privacy, remailers can be "chained".  Messages are sent
  15. through a series of remailers before arriving at their final destination.
  16. Also, some of the remailers can receive encrypted messages whose contents
  17. are indecypherable to outsiders.  Only when the remailer decrypts the
  18. message are the contents revealed, including instructions for where to
  19. send the message as the next hop in the chain.
  20.  
  21. Setting up these chains is a multi-step procedure, and the purpose of
  22. the chain program is to make this simpler.  Chain can process an email
  23. message to go through a large number of Cypherpunks remailers very
  24. easily.  It can also work with the encryption program PGP to encrypt
  25. the mail for those remailers which support it.
  26.  
  27. In its simplest mode, it is run as:
  28.  
  29. chain destination-address remailer-nickname [...]
  30.  
  31. Chain runs as a "filter" program, meaning that it reads a message as its
  32. input, processes it according to the command-line arguments, and writes
  33. the resulting message to its output.  The message may be typed directly
  34. into the chain program's input, or it may be put into a file and directed
  35. to chain using redirection.  This method would lead to a command line like:
  36.  
  37. chain destination-address remailer-nickname [...] < infile > outfile
  38.  
  39. The first command line argument is the "destination-address", the name
  40. to which the mail should finally be sent.  This typically needs to be an
  41. Internet email address like joe@clat.state.edu.
  42.  
  43. This is followed by one or more "remailer nicknames".  The message will
  44. be prepared to be sent through these remailers in the order given on the
  45. command line before being sent to the final destination-address.  A
  46. remailer nickname is an abbreviation of some part of the remailer address.
  47.  
  48. Chain uses a remailer file called chain.ini.  It looks for it either in the
  49. current directory, or if it is not found there and the environment variable
  50. PGPPATH is set (which it typically is for users of the PGP encryption
  51. program) it looks in that directory.  Chain.ini consists of a list of
  52. Cypherpunks remailer addresses, one per line.  In addition, if the first
  53. character of a line is a star ("*"), that is a flag that that remailer
  54. supports encryption, and chain will attempt to encrypt messages to that
  55. remailer.   Here is a typical chain.ini file: 
  56.  
  57.     hh@soda.berkeley.edu 
  58.     nowhere@bsu-cs.bsu.edu 
  59. *    hal@alumni.caltech.edu 
  60. *    elee7h5@rosebud.ee.uh.edu 
  61. *    remail@extropia.wimsey.com 
  62.  
  63. This lists five remailers, two of which do not support encryption and
  64. three which do (the ones with the '*' at the front).  The latest version
  65. of the chain.ini file should be available at the Cypherpunks archive
  66. site listed above.  If you don't have the PGP program then remove the
  67. '*' from all the lines so chain won't try to use it.
  68.  
  69. Chain looks up the remailer nicknames in this file, stopping when it
  70. finds the first match to the nickname anywhere in the file.  In the
  71. file above, for example, "soda" would match on the first line, while
  72. "rosebud" would match on the fourth.  "edu" would not be a very good
  73. nickname because it matches more than one, but chain doesn't check for
  74. that and just takes the first match (the first line, in this case).
  75.  
  76. A sample command line for the chain program would be:
  77.  
  78. chain joe@clat.state.edu rosebud soda extropia < mail.in > mail.out
  79.  
  80. This sets up a remailing chain which will go through the rosebud, soda,
  81. and extropia remailers (in that order) before being sent to the final
  82. destination, joe@clat.state.edu.  It reads the mail from the file
  83. mail.in and produces the processed output in mail.out.
  84.  
  85. This output file then would need to be sent manually to the first
  86. remailer in the chain.  In this case that would be
  87. elee7h5@rosebud.ee.uh.edu.
  88.  
  89. Chain creates two temp files as it runs.  They are put either in the
  90. local directory or, if the environment variable TMP is set, in that
  91. directory.  It normally deletes them when it terminates.
  92.  
  93.  
  94. Chain -m
  95. --------
  96.  
  97. The -m switch is only available on Unix systems which use the
  98. sendmail program to send mail.  It causes chain to pipe the message
  99. into sendmail, directing the message to the first remailer in the
  100. chain, automatically.  A sample command line would be:
  101.  
  102. chain -m joe@clat.state.edu soda portal < mail.in
  103.  
  104. This would set up a chain for the soda and portal remailer, taking
  105. the mail from the file mail.in, and automatically sending the result
  106. to the first remailer, in this case hh@soda.berkeley.edu.
  107.  
  108. Chain -s
  109. --------
  110.  
  111. Most of the remailers offer the option of changing the "Subject"
  112. line of your message as it is remailed.  (I'm not sure at this point
  113. whether any don't support this.)  This enhances privacy because you
  114. don't have to put a subject lin on your mail as you send it; it can
  115. be added later in the chain.
  116.  
  117. The -s switch can be used to specify the subject which your message
  118. will be tagged with as it leaves the last remailer in the chain.  This
  119. switch is used as -s, then a blank, then your subject, surrounded by
  120. quotes.  It works on both MS-DOS and Unix systems.  Here is an
  121. example:
  122.  
  123. chain -s "Questionable mail" joe@clat.state.edu portal < mail.in > mail.out
  124.  
  125. This would create mail to be sent to joe@clat.state.edu via the portal
  126. remailer; as it leaves portal, the mail will be given the subject
  127. "Questionable mail".
  128.  
  129. On Unix systems, this switch can be used in conjunction with -m, to
  130. both automatically mail the message and arrange for it to get tagged
  131. with an appropriate subject on its last leg:
  132.  
  133. chain -m -s "Questionable mail" joe@clat.state.edu portal < mail.in
  134.  
  135. This will automatically mail the message to the portal remailer,
  136. causing the subject to be set as it leaves that remailer.
  137.  
  138. Chain -e
  139. --------
  140.  
  141. The -e switch adds one extra level of encryption.  It encrypts the
  142. outgoing message with the public key of your final message
  143. destination before adding the chaining instructions.  This means that
  144. when your message is received, it will be encrypted in the public key
  145. of the recipient.
  146.  
  147. Chain looks up the public key in your regular PGP key ring, using the
  148. full destination address you specified for the lookup.  Chain will
  149. abort if no match is found when you specify -e.  An example:
  150.  
  151. chain -e joe@clat.state.edu nowhere portal < mail.in > mail.out
  152.  
  153. This will encrypt the message with the public key of joe@clat.state.edu,
  154. then process it for sending via the nowhere and portal remailers.
  155.  
  156. The -e switch can be used with -s and -m.
  157.  
  158. Chain -r
  159. --------
  160.  
  161. Chain -r is used to create anonymous return addresses (ARA's).  An ARA is a
  162. block of text which others can use to direct messages to you via a chain of
  163. Cypherpunks remailers without knowing who you are.  To be useful, ARA's
  164. should use encryption for at least the first step in the chain so that your
  165. true address is not revealed.
  166.  
  167. Chain creates anonymous return addresses with a command line similar to
  168. those described above, except that the -r switch is used.  (The -r
  169. switch may not be used at the same time as the other switches
  170. described above.)
  171.  
  172. chain -r destination-address remailer-nickname [...]
  173.  
  174. This creates an anonymous return address which is an alias for the
  175. specified "destination-address" and which passes through the remailers
  176. listed by the "remailer nicknames".  Chain does not read any input in
  177. this mode (other than the chain.ini remailer file) and writes the ARA
  178. on its output.  Typically this will be directed to a file with "> file.out"
  179. or something similar.
  180.  
  181. The format of chain's anonymous return address output is as follows.
  182.  
  183.     Copy the material between the "cut here" lines below and put it
  184.     at the top of your reply message, then send the message to:
  185.     elee7h5@rosebud.ee.uh.edu
  186.     
  187.     vvvvvvvvvvvvvvvvvvvvvvv cut here vvvvvvvvvvvvvvvvvvvvvvv
  188.     ::
  189.     Encrypted: PGP
  190.     
  191.     -----BEGIN PGP MESSAGE-----
  192.     Version: 2.2
  193.     
  194.     pfQ648MrsmsLOFO5BanPl1P8g1SnGr1S0R7um0yHYhxxXIjKx2/CwFQcCXEcsexd
  195.     KBYZjocNGAe/tVqvSVaaZcr4X/wiEK9Y22yx6fPymhlCH5fbKIyQrZR4xqHvr/ED
  196.     2BKmw2redmLcs0f9ZlttdwDb0cPahnZgXvuz6HkPDX/LGVj4Zz14K0z+uaCrchBR
  197.     aVKMa4pT49lf6StSf5wUdxHgnsNfxGbAYAwqswahdLNdniD7Ue8HTRZYF23ubd98
  198.     Rzv2PYG7G2j/hvtyCrcwKMI/wQP6wDNY0bgj9Q+F
  199.     =P2Q+
  200.     -----END PGP MESSAGE-----
  201.     ^^^^^^^^^^^^^^^^^^^^^^^ cut here ^^^^^^^^^^^^^^^^^^^^^^^
  202.  
  203. This block of text is intended to be placed somewhere in a message which
  204. you have mailed or posted anonymously.  It includes instructions to those
  205. who wish to reply to you.  They are supposed to take the material between
  206. the "cut here" lines and put it at the top of the message they want to
  207. send to you.  They then send the resulting message to the first remailer
  208. in the chain you chose for your ARA, in this case elee7h5@rosebud.ee.uh.edu.
  209.  
  210. For example, if they wanted to send you the message, "Tell me more about
  211. your ideas", they would create a message which looked like:
  212.  
  213.     ::
  214.     Encrypted: PGP
  215.     
  216.     -----BEGIN PGP MESSAGE-----
  217.     Version: 2.2
  218.     
  219.     pfQ648MrsmsLOFO5BanPl1P8g1SnGr1S0R7um0yHYhxxXIjKx2/CwFQcCXEcsexd
  220.     KBYZjocNGAe/tVqvSVaaZcr4X/wiEK9Y22yx6fPymhlCH5fbKIyQrZR4xqHvr/ED
  221.     2BKmw2redmLcs0f9ZlttdwDb0cPahnZgXvuz6HkPDX/LGVj4Zz14K0z+uaCrchBR
  222.     aVKMa4pT49lf6StSf5wUdxHgnsNfxGbAYAwqswahdLNdniD7Ue8HTRZYF23ubd98
  223.     Rzv2PYG7G2j/hvtyCrcwKMI/wQP6wDNY0bgj9Q+F
  224.     =P2Q+
  225.     -----END PGP MESSAGE-----
  226.     Tell me more about
  227.     your ideas.
  228.  
  229. They would then send this to elee7h5@rosebud.ee.uh.edu.  The ARA at
  230. the front of the message would be decrypted and the resulting data would
  231. allow the message to be passed on to the next remailer in the chain,
  232. until it is finally sent directly to you by the last chained remailer.
  233.  
  234. This procedure is a little complicated, granted, but the chain -r program
  235. makes it easy to create ARA's, and it should not be overwhelmingly difficult
  236. for those who wish to reply to you to cut a block of text from your
  237. message and put it at the front of their own reply.
  238.  
  239. (NOTE: for technical reasons, the "extropia" remailer cannot be used for
  240. anonymous return addresses at present.)
  241.  
  242.  
  243. Chain is written by Hal Finney, 74076.1041@compuserve.com.
  244. This is the initial release.  Please report problems to the author.
  245. Chain is placed in the public domain; its source code may be freely
  246. used.
  247.